""" 运行文件 """

import asyncio

from hypercorn.asyncio import serve
from hypercorn.config import Config
from app import create_app

app = create_app()
if __name__ == '__main__':
    # Hypercorn 配置
    config = Config()
    config.bind = ["0.0.0.0:8000"]

    # 调试模式核心配置
    config.use_reloader = True      # 文件变动自动重启
    config.debug = True             # 启用调试输出
    config.accesslog = "-"          # 访问日志打印到控制台
    config.errorlog = "-"           # 错误日志打印到控制台
    config.reload_dirs = ["app"]    # 只监视指定目录（可选）
    config.reload_engine = "poll"   # 关键修改

    # Flask 应用调试配置
    app.debug = True                # 启用Flask调试模式
    # app.config.update(
    #     TEMPLATES_AUTO_RELOAD=True, # 模板自动重载
    #     PROPAGATE_EXCEPTIONS=True   # 传播异常以便调试
    # )

    asyncio.run(serve(app, config))
